@projects
Feature: 开源项目模块
  需求描述: 用户可以创建项目，导入项目，以及删除项目

  Background:
    Given 进入页面：/
    And 写入登录cookies，并刷新页面

  Scenario: 登录状态下，通过右上角导航栏点击【新建】>【新建项目】按钮， 新建个人公有项目
    Given 测试项目关键数据：
      | 项目名称               | 项目标识                     | 项目简介               |
      | ${generate_name()} | ${generate_identifier()} | ${generate_name()} |
    When 点击导航栏右上角的【新建】图标
    And 点击【新建项目】按钮
    Then 页面进入：${host}/projects/deposit/new
    When 输入项目名称, 项目标识, 项目简介
    And 选择.gitignore，开源许可证：
      | .gitignore                                                              | 开源许可证                                                         |
      | ${random.choice(['Ada', 'Actionscript', 'Ansible', 'Android', 'Agda'])} | ${random.choice(['0BSD', 'AAL', 'AFL-1.1', '389-exception'])} |
    And 选择项目类别，项目语言：
      | 项目类别                                                                           | 项目语言                                             |
      | ${random.choice(['机器学习', '大数据', '深度学习', '人工智能', '量子计算', '智慧医疗', '自动驾驶', '其他'])} | ${random.choice(['C#', 'HTML', 'CSS', 'Shell'])} |
    And 点击【创建项目】按钮
    Then 进入项目详情页
    And 私有标签不可见
    When 点击【仓库设置】导航栏
    And 点击【删除本仓库】按钮
    Then 弹出确认提示: 该操作无法撤销！且将会一并删除相关的疑修、合并请求、工作流、里程碑、动态等数据
    When 点击【确定】按钮
    Then 仓库删除成功，有成功提示：仓库删除成功！
    And 页面进入：/${login}

  Scenario: 登录状态下，通过右上角导航栏点击【新建】>【新建项目】按钮， 新建个人私有项目
    Given 测试项目关键数据：
      | 项目名称               | 项目标识                     | 项目简介               |
      | ${generate_name()} | ${generate_identifier()} | ${generate_name()} |
    When 点击导航栏右上角的【新建】图标
    And 点击【新建项目】按钮
    Then 页面进入：/projects/deposit/new
    When 输入项目名称, 项目标识, 项目简介
    And 选择.gitignore，开源许可证：
      | .gitignore                                                              | 开源许可证                                                         |
      | ${random.choice(['Ada', 'Actionscript', 'Ansible', 'Android', 'Agda'])} | ${random.choice(['0BSD', 'AAL', 'AFL-1.1', '389-exception'])} |
    And 选择项目类别，项目语言：
      | 项目类别                                                                           | 项目语言                                             |
      | ${random.choice(['机器学习', '大数据', '深度学习', '人工智能', '量子计算', '智慧医疗', '自动驾驶', '其他'])} | ${random.choice(['C#', 'HTML', 'CSS', 'Shell'])} |
    And 勾选复选框，将项目设为私有
    And 点击【创建项目】按钮
    Then 进入项目详情页
    And 私有标签可见
    When 点击【仓库设置】导航栏
    And 点击【删除本仓库】按钮
    Then 弹出确认提示: 该操作无法撤销！且将会一并删除相关的疑修、合并请求、工作流、里程碑、动态等数据
    When 点击【确定】按钮
    Then 仓库删除成功，有成功提示：仓库删除成功！
    And 页面进入：/${login}


  @todo
  Scenario: 登录状态下，通过右上角导航栏点击新建>导入项目按钮， 导入github项目（公开仓库）作为个人公开仓库


  @todo
  Scenario: 登录状态下，通过右上角导航栏点击新建>导入项目按钮， 导入gitee项目（公开仓库）作为个人公开仓库


  @todo
  Scenario: 登录状态下，通过右上角导航栏点击新建>导入项目按钮， 导入github项目（私有仓库）作为个人私有仓库


  @todo
  Scenario: 登录状态下，通过右上角导航栏点击新建>导入项目按钮， 导入gitee项目（私有仓库）作为个人私有仓库

